home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / rjs.lha / RJS / Transport / tests / printer.C < prev    next >
C/C++ Source or Header  |  1991-06-14  |  893b  |  47 lines

  1. #include <iostream.h>
  2. #include "RJS/Transport.h"
  3. #include <osfcn.h>
  4. #include <osfcn.h>
  5. #include <libc.h>
  6. #include <stdio.h>
  7. #include <string.h>
  8.  
  9. int main(int argc, char *argv[]) 
  10. {
  11.   if (argc<3 || argc>4) {
  12.     cerr << "usage: " << argv[0] << " host 'command' [ls]" << endl;
  13.     exit(1);
  14.   }
  15.  
  16.   int long_flag = (argc==4) && (*argv[3]=='l');
  17.  
  18.   InetAddress lpd(argv[1],"printer","tcp");
  19.   InetStream lpd_server;
  20.  
  21.   lpd_server.reserved_socket(1023);
  22.   lpd_server.connect(lpd);
  23.  
  24.   char buffer[512]; 
  25.   sprintf(buffer,"%c%s\n",long_flag ? 4 : 3,argv[2]);
  26.   lpd_server.write(buffer,strlen(buffer));
  27.  
  28.   int nbr;
  29.   cout << endl;
  30.   while(nbr=lpd_server.read(buffer,512)) {
  31.       buffer[nbr]=0;    
  32.       cout << buffer;
  33.   }
  34.   cout << endl;
  35.  
  36.   lpd_server.write(buffer,strlen(buffer));
  37.   cout << endl;
  38.   while(nbr=lpd_server.read(buffer,512)) {
  39.       buffer[nbr]=0;    
  40.       cout << buffer;
  41.   }
  42.   cout << endl;
  43.  
  44.   exit(0);
  45. }
  46.  
  47.